this._gclueStarting = false;
this._gclueLocationChangedId = 0;
+ this._needsAuth = true;
this._weatherAuthorized = false;
this._permStore = new PermissionStore.PermissionStore((proxy, error) => {
if (error) {
get _useAutoLocation() {
return this._autoLocationRequested &&
this._locationSettings.get_boolean('enabled') &&
- this._weatherAuthorized;
+ (!this._needsAuth || this._weatherAuthorized);
}
_onWeatherProxyReady(o, res) {
if (hadApp !== haveApp)
this.emit('changed');
+
+ let neededAuth = this._needsAuth;
+ this._needsAuth = this._weatherApp === null ||
+ this._weatherApp.app_info.has_key('X-Flatpak');
+
+ if (neededAuth !== this._needsAuth)
+ this._updateAutoLocation();
}
_loadInfo() {